package pile.pay.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
 * <p>
 * 退款信息表
 * </p>
 *
 * @author 郭天义
 * @since 2024-07-01
 */
@Getter
@Setter
@TableName("sys_refund_order")
@ApiModel(value = "RefundOrder对象", description = "退款信息表")
public class RefundOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("退款订单id")
    @TableId(value = "refund_order_id", type = IdType.AUTO)
    private Integer refundOrderId;

    @ApiModelProperty("微信支付退款单号")
    private String refundId;

    @ApiModelProperty("微信支付订单号 /充值的第三方订单号")
    private String transactionId;

    @ApiModelProperty(" 原支付交易对应的商户订单号  商户订单号")
    private String outTradeNo;

    @ApiModelProperty("商户退款单号 ")
    private String outRefundNo;

    @ApiModelProperty("退款入账账户")
    private String userReceivedAccount;

    @ApiModelProperty("优惠退款信息")
    private String promotionDetail;

    @ApiModelProperty("退款渠道")
    private String channel;

    @ApiModelProperty("退款状态")
    private String status;

    @ApiModelProperty("退款失败原因")
    private String reasonFailureReason;

    @ApiModelProperty("订单金额")
    private BigDecimal total;

    @ApiModelProperty("用户支付金额")
    private BigDecimal payerTotal;

    @ApiModelProperty("用户退款金额")
    private BigDecimal payerRefund;

    @ApiModelProperty("退款金额")
    private BigDecimal refund;

    @ApiModelProperty("资金账户")
    private String fundsAccount;

    @ApiModelProperty("是否删除 1/是， 0/否")
    @TableLogic
    private Integer isDelete;

    @ApiModelProperty("添加时间")
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty("修改时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @ApiModelProperty("删除时间")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date deleteTime;

    @ApiModelProperty("乐观锁")
    @Version
    private Integer version;

    @ApiModelProperty("电站id")
    private Integer stationId;


}
